import { customRef } from "vue";

export default function useMsg(initialValue: string, delay: number = 200) {
    // 定义一个定时器ID
    let timeoutId: number;
    const msg = customRef((track, trigger) => {
        return {
            get: () => {
                track();
                return initialValue;
            },
            set: (value: string) => {
                // 取消之前的定时器
                clearTimeout(timeoutId);
                timeoutId = setTimeout(() => {
                    initialValue = value;
                    trigger();
                }, delay);
            }
        };
    });

    return {
        msg
    };
}
